// components/table/table.js
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    totalHeight: {
      type: Number,
      value: 250
    },
    headList: Array,
    table: Array,
    table_sl: {
      type: String,
      value: 'fir'
    },
    line_sl: {
      type: String,
      value: 'sec'
    },
    lock_header: {
      type: Boolean,
      value: true
    },
    lock_first: {
      type: Boolean,
      value: true
    },
    table_width: {
      type: Array,
      value: []
    },
    header_height: {
      type: Number,
      value: 60
    },
    header_bg: {
      type: String,
      value: '#fff'
    },
    header_text_size: {
      type: Number,
      value: 32
    },
    header_bold: {
      type: Boolean,
      value: true
    },
    header_text_color: {
      type: String,
      value: '#111'
    },
    cell_height: {
      type: Number,
      value: 100
    },
    is_unit: {
      type: Array,
      value: []
    },
    is_per: {
      type: Array,
      value: []
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    header_style: ""
  },

  /**
   * 组件的方法列表
   */
  methods: {

    /**
     * 表头元素点击事件
     * @param {Obejct} e 所选表头数据
     */
    header_click(e) {
      // console.log(e)
      let data = e.currentTarget.dataset
      // 将所点击表头的索引和值传给父组件
      this.triggerEvent('head_click', {
        'index': data.index,
        'value': data.value
      })
    },

    /**
     * 行点击事件
     * @param {Object} e 每行数据
     */
    row_click(e) {
      // console.log(e)
      let data = e.currentTarget.dataset
      // 将所点击行的索引和值传给父组件
      this.triggerEvent('row_click', {
        'index': data.index,
        'value': data.value
      })
    },

    /**
     * 下拉触底事件函数
     * @param {Object} e scroll-view下拉触底变量
     */
    handleScrollToLower(e) {
      if (e.detail.direction == 'bottom') {
        console.log('下拉到底加载事件')
        // 将数据传给父组件
        this.triggerEvent('tableToLower', {
          'data': '111'
        })
      }
    },

    /**
     * 设置表头样式
     */
    process_header() {
      let [header_height, header_bg, header_text_size, header_text_color] = [this.properties.header_height, this.properties.header_bg, this.properties.header_text_size, this.properties.header_text_color]
      this.setData({
        header_style: "background:" + header_bg + ";font-size:" + header_text_size + "rpx;color:" + header_text_color + ";height:" + header_height + "rpx"
      })
    },
  },
  lifetimes: {
    ready() {
      // // 获取屏幕高度用来分配表格的显示
      // wx.getSystemInfo({
      //   success: (res) => {
      //     this.setData({
      //       totalHeight: res.windowHeight - 180
      //     })
      //   }
      // })
      this.process_header()
    }
  }
})
